package mobi.richaze.llbag.domain.model.account;

import java.util.List;

import org.springframework.dao.DataAccessException;

/**
 * 此接口用于系统用户的管理功能。
 * <p>
 * <code>BaseRepository<code>接口已经拥有对象的基本CRUD操作
 * <p>
 * 一些特殊的功能操作在此接口定义,也可以 Override BaseRepository已实现的方法
 * 
 * @see mobi.richaze.llbag.domain.shared.BaseRepository
 * @author Richaze Chou
 * 
 */
public interface AccountRepository {
	/**
	 * 
	 * @param username
	 * @return
	 * @throws DataAccessException
	 */
	Account getAccount(String username) throws DataAccessException;

	/**
	 * 
	 * @param username
	 * @param password
	 * @return
	 * @throws DataAccessException
	 */
	Account getAccount(String username, String password)
			throws DataAccessException;

	List<Account> getUsernameList() throws DataAccessException;
}
